Type GFX_Coordinate
	
	Field x:Float
	Field y:Float
	Field z:Float

	Method Set(c:GFX_Coordinate)
		x = c.getX()
		y = c.getY()
		z = c.getZ()
	End Method

	Method SetXYZ(xv:Float, yv:Float, zv:Float)
		x = xv
		y = yv
		z = zv
	End Method

	Method SetX (value:Float)
		x = value
	End Method

	Method SetY (value:Float)
		y = value
	End Method

	Method SetZ (value:Float)
		z = value
	End Method

	Method GetX:Float()
		Return x
	End Method

	Method GetY:Float()
		Return y
	End Method

	Method GetZ:Float()
		Return z
	End Method
	
	Method ApplyDelta(c:GFX_Coordinate)
		x = x + c.getX()
		y = y + c.getY()
		z = z + c.getZ()
	End Method
	
	Method GetInterpolateX:Float(old:GFX_Coordinate, tween:Float)
		Return x * tween + old.GetX() * (1.0 - tween)
	End Method

	Method GetInterpolateY:Float(old:GFX_Coordinate, tween:Float)
		Return y * tween + old.GetY() * (1.0 - tween)
	End Method

	Method GetInterpolateZ:Float(old:GFX_Coordinate, tween:Float)
		Return z * tween + old.GetZ() * (1.0 - tween)
	End Method

End Type
